home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / comm / misc / Make_OC_key.lha / Make_OC_Key.rexx < prev   
OS/2 REXX Batch file  |  1997-01-05  |  6KB  |  146 lines

  1. /*  
  2. Keyfile generator für Online_CHECK ab V1.4
  3. */
  4. start:
  5. NL="0a"x
  6. IF ~EXISTS("libs:rexxreqtools.library") THEN DO
  7. SAY "Brauche RexxReqTools.library"
  8. EXIT
  9. END
  10. IF ~SHOW("libraries","rexxreqtools.library") THEN DO
  11. CALL ADDLIB("rexxreqtools.library",0,-30)
  12. END
  13. FONT = topaz
  14. SIZE = 8
  15.  
  16. /* Eingabe aufforderung für Texte */
  17. nam="A.Teichmann"
  18. tel=05118793071
  19. str="Marthastr.12"
  20. ort="Hannover"
  21. plz=30519
  22. email="A.Teichmann@t-online.de"
  23. Ver="V1.4"
  24. CALL rtezrequest("KEY Überprüfen oder Neu Anlegen ?","_Prüfen|_Neu","KEY Maker für ONLINE Check V1.4+","rtez_flags = ezreqf_centertext")
  25. if result = 0 then signal go1
  26. signal checkkey
  27. go1:
  28.  
  29. nam = rtgetstring("", "Name der Person" nl,
  30.                    "Bitte ausführlich angeben" nl,
  31.                    "max 20 Zeichen",,                  
  32.                    "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  33.                    "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  34. ttt:
  35. tel = rtgetlong( "0","Telefon" nl,
  36.                   "eingeben",,
  37.                   "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  38.                   "rtgl_min = 0 rtgl_max = 9999999999999999 rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  39. if tel="" then signal ttt
  40. ver = rtgetstring("V1.4", "Version des Programms" nl,
  41.                    "OHNE Angabe von Leerzeichen" nl,
  42.                    "max 4 Zeichen",,                  
  43.                    "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  44.                    "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  45. str = rtgetstring("", "Straße + Hausnummer" nl,
  46.                    "OHNE Angabe von Leerzeichen" nl,
  47.                    "max 20 Zeichen",,                  
  48.                    "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  49.                    "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  50. ppp:
  51. PLZ = rtgetlong( "30519","Postleitzahl" nl,
  52.                   "eingeben",,
  53.                   "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  54.                   "rtgl_min = 0 rtgl_max = 99999 rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  55. if plz="" then signal ppp
  56. ort = rtgetstring("", "Ort" nl,
  57.                    "OHNE Angabe von Leerzeichen" nl,
  58.                    "max 20 Zeichen",,                  
  59.                    "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  60.                    "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  61. email = rtgetstring("", "Email Adresse" nl,
  62.                    "OHNE Angabe von Leerzeichen" nl,
  63.                    "max 40 Zeichen",,                  
  64.                    "MAKE ONLINE CHECK KEY V1.4", "Ok|_Cancel",,
  65.                    "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext rtez_defaultresponse = 0 ")
  66. c1="EiNkGz(62KJ439KJd7jmkKJkr(o93lK@¼°¾@°¼¾½°¾½¼¾eHOLMyhDfzzEmFiUEOj22456@°¼¾½flKn"
  67. c2="HnelkJLKFhl98374j³°¼@½¾°@¾°³¼¾k46KJLKi4kjh8LKHgi4k2¼°¾½@°¼¾³°¼¾k548$&436ge5643"
  68. c3="Koii6JHGFD676d(/ti3g/tKL87e0Qäöküxpüp+OEÄ=?09347(/%&%764273oUIZ@°°©¼¤þ©ßß³°½¼þ"
  69. nam=strip(nam);tel=strip(tel);ver=strip(ver);str=strip(str);plz=strip(plz);ort=strip(ort);email=strip(email)
  70. CALL rtezrequest("Name:"nam||NL||"Straße:"str||NL||"Ort:"plz" "ort||NL||"Tel:"tel||NL||"Email:"email||NL||"Für Online_Check "ver,"erstelle _KEY|_Abbruch","KEY Maker für ONLINE Check V1.4+")
  71. if result=0 then exit 
  72. Call Open(inf,"Ram:ONline_check."nam,"w")
  73. call writeln(inf,"<KEYFILE für ONLINE Check ab "ver" ,do not edit !>")
  74. line1="Name             ="nam
  75. line2="Straße           ="str
  76. line3="Ort              ="plz" "Ort
  77. line4="Telefon          ="tel
  78. line5="Email            ="email
  79. line6="Register Version =Online_Check "ver
  80. line7="Interner Check   ="abs(trunc((tel-1029384756*plz)/123456789))
  81. say line1||nl||line2||nl||line3||nl||line4||nl||line5||nl||line6||nl||line7
  82. co=c2x(line1);co1=c2x(co);cod1=c2x(co1)
  83. co=c2x(line2);co1=c2x(co);cod2=c2x(co1)
  84. co=c2x(line3);co1=c2x(co);cod3=c2x(co1)
  85. co=c2x(line4);co1=c2x(co);cod4=c2x(co1)
  86. co=c2x(line5);co1=c2x(co);cod5=c2x(co1)
  87. co=c2x(line6);co1=c2x(co);cod6=c2x(co1)
  88. co=c2x(line7);co1=c2x(co);cod7=c2x(co1)"31323334353637383930"
  89. cod1=reverse(cod1)
  90. cod2=reverse(cod2)
  91. cod3=reverse(cod3)
  92. cod4=reverse(cod4)
  93. cod5=reverse(cod5)
  94. cod6=reverse(cod6)
  95. cod7=reverse(cod7)
  96. code=cod1||NL||cod2||NL||cod3||NL||cod4||NL||cod5||NL||cod6||NL||cod7
  97. wert=hash(code)
  98. call writeLN(inf,code)
  99. call writeLN(inf,wert)
  100. call close(inf)
  101. say "KEY liegt bei Ram:ONline_check."nam
  102. CALL rtezrequest("Noch einen KEY ?","_JA|_Nein","KEY Maker für ONLINE Check V1.4+","rtez_flags = ezreqf_centertext")
  103. if result = 0 then exit
  104. signal start
  105.  
  106. checkkey:
  107. guut=0;eeex=""
  108. filename = rtfilerequest('ram:',,"Wo befindet sich der verdächtige KEY ?", ,,
  109.                          'rt_reqpos=reqpos_centerscr')
  110. Call Open(inf,filename,"R")
  111. buf=readLN(inf)
  112. cod1=readLN(inf);cod1=reverse(cod1)
  113. cod2=readLN(inf);cod2=reverse(cod2)
  114. cod3=readLN(inf);cod3=reverse(cod3)
  115. cod4=readLN(inf);cod4=reverse(cod4)
  116. cod5=readLN(inf);cod5=reverse(cod5)
  117. cod6=readLN(inf);cod6=reverse(cod6)
  118. cod7=readLN(inf);cod7=reverse(cod7)
  119. wert=strip(readLN(inf))
  120. if datatype(wert)="CHAR" then guut=0
  121. code=cod1||NL||cod2||NL||cod3||NL||cod4||NL||cod5||NL||cod6||NL||cod7
  122. wert1=hash(code)
  123. if left(buf,28)="<KEYFILE für ONLINE Check ab"then guut=1
  124. if wert~=wert1 then guut=0 
  125. if guut=0 then signal NOKEY
  126. if right(cod7,20)~="31323334353637383930" then signal NOKEY
  127. loo=(length(cod7)-20)
  128. cod7=left(cod7,loo)
  129. co=x2c(cod1);co1=x2c(co);line1=x2c(co1)
  130. co=x2c(cod2);co1=x2c(co);line2=x2c(co1)
  131. co=x2c(cod3);co1=x2c(co);line3=x2c(co1)
  132. co=x2c(cod4);co1=x2c(co);line4=x2c(co1)
  133. co=x2c(cod5);co1=x2c(co);line5=x2c(co1)
  134. co=x2c(cod6);co1=x2c(co);line6=x2c(co1)
  135. co=x2c(cod7);co1=x2c(co);line7=x2c(co1)
  136. eeex=line1||nl||line2||nl||line3||nl||line4||nl||line5||nl||line6||nl||line7
  137. co=abs(trunc((tel-1029384756*plz)/123456789))
  138. ce=substr(line7,19);if co=ce then guut=1
  139. NOKEY:
  140. if guut=1 then exee="*** KEY IST GÜLTIG ***"
  141. if guut=0 then exee="*** KEY IST NICHT GÜLTIG ***"
  142. CALL rtezrequest(eeex||NL||exee,"_OK","KEY Maker für ONLINE Check V1.4+")
  143. CALL rtezrequest("Noch einen KEY ?","_JA|_Nein","KEY Maker für ONLINE Check V1.4+","rtez_flags = ezreqf_centertext")
  144. if result = 0 then exit
  145. signal start
  146.